<?php
/**
 * 验证是否必填项(可以指定必填的值)
 * @author solar
 * @version 1.0
 */
class RequiredValidator extends AbstractValidator
{
	/**
	 * 指定必须匹配的值
	 * Defaults to null.
	 */
	public $value;
	/**
	 * 是否严格匹配上面的值 
	 */
	public $strict=false;
	/**
	 * 验证方法
	 * @param string $label  显示在页面的名称
	 * @param mix $value 要验证的值
	 */	
	public function validate($label,$value){
		if($this->value!==null){
			if(!$this->strict && $value!=$this->value || $this->strict && $value!==$this->value){
				return $this->message($label);
			}
		}else if($this->isEmpty($value,true)){
			return $this->message($label);
		}
		return true;
	}
	/**
	 * 验证失败的信息
	 * @param string $label
	 */
	public function message($label){
		if($this->value!==null){
			if($this->language==='cn'){
				return $label.'必须是'.$this->value;
			}else if($this->language==='en'){
				return $label.' must be '.$this->value;
			}
		}else{
		if($this->language==='cn'){
				return '请输入'.$label;
			}else if($this->language==='en'){
				return $label.' is required';
			}
		}
	}
}
